
#import "ClientListViewController.h"

@implementation ClientListViewController

//
// client list
//
@synthesize clientList														= _clientList;

//
// init
//
- (id)init
{
	//
	// call super
	//
	self																	= [super initWithStyle:UITableViewStyleGrouped];
	if(!self)
		return nil;
	
	//
	// setup title,image
	//
	self.title																= NSLocalizedStringFromTable(@"Client List", @"ClientListViewController", nil);
	
	return self;
}

//
// dealloc
//
- (void)dealloc
{
	self.clientList															= nil;
	
	[super dealloc];
}

//
// get section count
//
- (NSInteger)numberOfSectionsInTableView:(UITableView*)tableView
{
	return 1;
}

//
// get row count
//
- (NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section
{
	return self.clientList.count;
}

//
// get cell
//
- (UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath
{
	UITableViewCell* theCell												= [tableView dequeueReusableCellWithIdentifier:@"s"];
	if(!theCell)
		theCell																= [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"s"] autorelease];
	
	NSString* clientInfo													= [self.clientList objectAtIndex:indexPath.row];
	NSError* error															= nil;
	NSRegularExpression* regex												= [NSRegularExpression regularExpressionWithPattern:@"^(.*)\\((\\d+\\.\\d+\\.\\d+\\.\\d+:\\d+)\\)$" options:NSRegularExpressionAnchorsMatchLines error:&error];
	NSTextCheckingResult* match												= error || !regex ? nil : [regex firstMatchInString:clientInfo options:0 range:NSMakeRange(0, clientInfo.length)];
	if(match)
	{
		theCell.textLabel.text												= [clientInfo substringWithRange:[match rangeAtIndex:1]];
		theCell.detailTextLabel.text										= [clientInfo substringWithRange:[match rangeAtIndex:2]];
	}
	else
	{
		theCell.textLabel.text												= clientInfo;
	}
	theCell.selectionStyle													= UITableViewCellSelectionStyleNone;
	return theCell;
}

@end
